package com.google.code.lf.gfm.ui.log;

import java.io.PrintStream;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;

//TODO Javadoc
public class Console {

	private final MessageConsole messageConsole;

	public Console() {
		//TODO Voir si on peut désactiver le bouton 'nouvelle page'
		//TODO Voir si on peut activer les préférences(ex: ne pas limiter le nb de lignes)
		messageConsole = new MessageConsole("GFM Console", null);
		final MessageConsoleStream messageConsoleStream = messageConsole.newMessageStream();
		//TODO Voir si on peut gérer des couleurs selon le niveau de log (ex: rouge pr erreur)
		messageConsoleStream.setColor(Display.getDefault().getSystemColor(SWT.COLOR_BLUE));
		final PrintStream printStream = new PrintStream(messageConsoleStream);
		// Redirect standard out and err to this console
		System.setOut(printStream);
		System.setErr(printStream);
	}

	public MessageConsole getMessageConsole() {
		return messageConsole;
	}

}
